package com.wyzz.hr.pojo.base;

import java.io.Serializable;

import com.wyzz.hr.pojo.InmatchBasic;
import com.wyzz.hr.pojo.Iodef;

public abstract class BaseInmatchBasic implements Serializable {

	public BaseInmatchBasic() {
		hashCode = 0x80000000;
		initialize();
	}

	public BaseInmatchBasic(String imbId) {
		hashCode = 0x80000000;
		setImbId(imbId);
		initialize();
	}

	public BaseInmatchBasic(String imbId, Iodef imbIo, String imbFieldName,
			String imbFieldDesc, String imbDataType, Integer imbDetectError,
			Integer imbRequired, Integer imbSortId, String imbSample) {
		hashCode = 0x80000000;
		setImbId(imbId);
		setImbIo(imbIo);
		setImbFieldName(imbFieldName);
		setImbFieldDesc(imbFieldDesc);
		setImbDataType(imbDataType);
		setImbDetectError(imbDetectError);
		setImbRequired(imbRequired);
		setImbSortId(imbSortId);
		setImbSample(imbSample);
		initialize();
	}

	protected void initialize() {
	}

	public String getImbId() {
		return imbId;
	}

	public void setImbId(String imbId) {
		this.imbId = imbId;
		hashCode = 0x80000000;
	}

	public String getImbFieldName() {
		return imbFieldName;
	}

	public void setImbFieldName(String imbFieldName) {
		this.imbFieldName = imbFieldName;
	}

	public String getImbFieldDesc() {
		return imbFieldDesc;
	}

	public void setImbFieldDesc(String imbFieldDesc) {
		this.imbFieldDesc = imbFieldDesc;
	}

	public String getImbDataType() {
		return imbDataType;
	}

	public void setImbDataType(String imbDataType) {
		this.imbDataType = imbDataType;
	}

	public String getImbFormat() {
		return imbFormat;
	}

	public void setImbFormat(String imbFormat) {
		this.imbFormat = imbFormat;
	}

	public Integer getImbDetectError() {
		return imbDetectError;
	}

	public void setImbDetectError(Integer imbDetectError) {
		this.imbDetectError = imbDetectError;
	}

	public Integer getImbRequired() {
		return imbRequired;
	}

	public void setImbRequired(Integer imbRequired) {
		this.imbRequired = imbRequired;
	}

	public Integer getImbSortId() {
		return imbSortId;
	}

	public void setImbSortId(Integer imbSortId) {
		this.imbSortId = imbSortId;
	}

	public String getImbSample() {
		return imbSample;
	}

	public void setImbSample(String imbSample) {
		this.imbSample = imbSample;
	}

	public Iodef getImbIo() {
		return imbIo;
	}

	public void setImbIo(Iodef imbIo) {
		this.imbIo = imbIo;
	}

	public boolean equals(Object obj) {
		if (null == obj)
			return false;
		if (!(obj instanceof InmatchBasic))
			return false;
		InmatchBasic inmatchBasic = (InmatchBasic) obj;
		if (null == getImbId() || null == inmatchBasic.getImbId())
			return false;
		else
			return getImbId().equals(inmatchBasic.getImbId());
	}

	public int hashCode() {
		if (0x80000000 == hashCode) {
			if (null == getImbId())
				return super.hashCode();
			String hashStr = (new StringBuilder()).append(getClass().getName())
					.append(":").append(getImbId().hashCode()).toString();
			hashCode = hashStr.hashCode();
		}
		return hashCode;
	}

	public String toString() {
		return super.toString();
	}

	public static String REF = "InmatchBasic";
	public static String PROP_IMB_SAMPLE = "imbSample";
	public static String PROP_IMB_FORMAT = "imbFormat";
	public static String PROP_IMB_SORT_ID = "imbSortId";
	public static String PROP_IMB_ID = "imbId";
	public static String PROP_IMB_FIELD_NAME = "imbFieldName";
	public static String PROP_IMB_DETECT_ERROR = "imbDetectError";
	public static String PROP_IMB_REQUIRED = "imbRequired";
	public static String PROP_IMB_IO = "imbIo";
	public static String PROP_IMB_FIELD_DESC = "imbFieldDesc";
	public static String PROP_IMB_DATA_TYPE = "imbDataType";
	private int hashCode;
	private String imbId;
	private String imbFieldName;
	private String imbFieldDesc;
	private String imbDataType;
	private String imbFormat;
	private Integer imbDetectError;
	private Integer imbRequired;
	private Integer imbSortId;
	private String imbSample;
	private Iodef imbIo;

}
